package edu.upenn.cis.cis550.hw3.client;

import java.util.ArrayList;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface UpdateTablesAsync {
	
	 void addUser(String firstName, String lastName, String email,
	            String dob, String gender, AsyncCallback<String> callback);

	    void addCircle(int userID, String name, AsyncCallback<String> callback);

	    void addComment(int userID, int photoID, String comment, String timeStamp,
	            AsyncCallback<String> callback);

	    void addAddress(int userID, String street, String city, String state,
	            String zip, AsyncCallback<Void> callback);

	    void addAdvisesRelationship(int studentID, int profID, int years,
	            AsyncCallback<Void> callback);

	    void addFriend(int userID, int friendID, String circleName,
	            AsyncCallback<String> callback);

	    void addInterest(String interest,
	            AsyncCallback<Void> callback);

	    void addInterestToUser(int userID, int interestID,
	            AsyncCallback<Void> callback);

	    void addLogin(int userID, String password, AsyncCallback<Void> callback);

	    void addPhoto(int userID, String url, String description,
	            String photoTime, int visibility, ArrayList<String> ids, AsyncCallback<String> callback);

	    void addProfessor(int userID, String office, String researchArea,
	            String title, String college, AsyncCallback<Boolean> callback);

	    void addRating(int userID, int photoID, int rating,
	            AsyncCallback<String> callback);

	    void addStudent(int userID, int year, String course, float GPA,
	            String college, AsyncCallback<Boolean> callback);

	    void addTag(int photoID, String tag, AsyncCallback<String> callback);

	    void getUsers(AsyncCallback<String> callback);


}
